
#define MAX_QUEUE_SIZE 16

typedef int ElemType;

struct CircularQueue{
    ElemType *data;
    unsigned int front;
    unsigned int rear;
    unsigned int capacity;
};
typedef struct CircularQueue CirQueue;

int InitQueue(CirQueue *queue);
int DestroyQueue(CirQueue *queue);
int ClearQueue(CirQueue *queue);
int QueueEmpty(CirQueue queue);
int GetHead(CirQueue queue,ElemType *element);
int EnQueue(CirQueue *queue,ElemType element);
int DeQueue(CirQueue *queue,ElemType *elemType);
int QueueLength(CirQueue queue);